AWS Control Tower のアカウントカスタマイズに関するCode Talkに参加。AFTと生成AIを駆使したスマートなアカウント運用を体験できました #AWSreInvent #COP405

AWS Control Tower のアカウントカスタマイズに関するCode Talkに参加。AFTと生成AIを駆使したスマートなアカウント運用を体験できました #AWSreInvent #COP405

Clock Icon2024.12.03

AWS re:Invent 2024 に現地ラスベガスから参加しています。

今回 COP405 | Coding for account customizations with AWS Control Tower という Code Talk に参加してきました。

sc_2024-12-03_05-36-58_15728
会場風景

Code Talk はセッションタイプの1つです。 解説も多少はありますが、ライブコーディングがメインです。 参加者とのディスカッションも活発に行われます。

sc_2024-12-03_05-38-08_4615
ライブコーディングの1風景

本セッションではマルチアカウント運用で必須となってくる 「AWSアカウントの作成とカスタマイズ」がテーマとなっています。 Control Tower や Account Factory for Terraform(AFT)、Amazon Q(GenAI) を駆使してスマートにAWSアカウントの作成〜カスタマイズを実施されていました。

以降で詳細を紹介していきます。

セッション情報

  • タイトル: COP405 | Coding for account customizations with AWS Control Tower
  • スピーカー:
    • Justin Plock, Principal Solutions Architect, AWS
    • Welly Siauw, Principal Partner SA, Amazon Web Services
  • セッション概要: 以下引用

Explore how to apply baseline configurations and account customizations across your multi-account AWS environment at scale through this live coding and interactive discussion. In this code talk, dive deep into some real-world examples and explore how you can customize across 100s or even 1,000s of accounts securely. In addition, learn how Amazon Q enables infrastructure as code to help implement customization quickly.

(機械翻訳) このライブコーディングとインタラクティブなディスカッションを通して、ベースライン設定とアカウントカスタマイズをマルチアカウントAWS環境全体にスケールで適用する方法を探ります。このコードトークでは、いくつかの実例を深く掘り下げ、100から1,000のアカウントを安全にカスタマイズする方法を探ります。さらに、Amazon Qがカスタマイズを迅速に実装するために、どのようにInfrastructure as Codeを実現するかを学びます。

解説パート: AWSアカウントのカスタマイズ方法3選

AWSアカウントのカスタマイズ方法として以下3つが紹介されました。 ( どれを使っていますか? の挙手アンケートがあり、 会場内では AFCとAFTが一定数いらっしゃいました)

sc_2024-12-03_05-57-17_4652
AWSアカウントのカスタマイズで使える主要ツール3つ

各ツールの簡単な特徴も把握できました。

  • AFC: AWS Control Tower Account Factory Customization
    • ✅️ AWS Control Tower の機能としてマネージドに提供されている
    • ✅️ 新規アカウントにも既存アカウントに適用可能
    • ✅️ 11のパートナーブループリントを利用可能
    • ⚠️ 現状はコンソール限定であり APIは未サポート
    • ⚠️ アカウントごとに 1つのみのブループリント
  • CfCT: Customizations for AWS Control Tower
    • ✅️ 新規/既存アカウントに向けた「パイプラインベースの CloudFormation(CFn) ワークフロー」が提供
    • ✅️ デプロイや設定のアーティファクトをバージョン管理リポジトリやS3に保存可能
    • ✅️ デプロイするCFnテンプレートやService Control Policy(SCP)を管理できる
    • ⚠️ 現状は委任できない
    • ⚠️ 新規アカウント "作成" は対応していない (ライフサイクルイベントを使ったカスタマイズは可能)
  • AFT: AWS Control Tower Accoun Factory for Terraform
    • ✅️ 新規/既存アカウントに向けた「パイプラインベースの Terraform ワークフロー」が提供
    • ✅️ デプロイや設定のアーティファクトをバージョン管理リポジトリに保存可能
    • ✅️ module をサポート (Terraform Registory published modules もしくは custom modules)
    • ✅️ 委任管理が可能
    • ⚠️ 運用の複雑さと管理のオーバーヘッド

ライブコーディングパート: AFTを使ってAWSアカウント生成 + カスタマイズ

Account Factory for Terraform(AFT) 操作を VSCode や GitHub 、マネジメントコンソールを表示しながら実施されていました。

トピックとしては主に以下3点です。

  • ライブコーディングの前提環境の解説
  • 新規AWSアカウントを Amazon Q を駆使して作成
  • AWSアカウントのカスタマイズを実施

ライブコーディングの前提環境(AFT)の解説

既に構築されている、前提の環境が説明されました。

sc_2024-12-03_08-45-59_27483
AFT deployment module の全体像

コードは GitHub リポジトリ 上に配置されています。 アカウント作成やカスタマイズは リポジトリPush をトリガーに、 Code Pipeline パイプライン上で進められます。

新規AWSアカウントを Amazon Q を駆使して作成

新規AWSアカウントをサクッと作成されていました。 VSCode に統合された Amazon Q を使って AWSアカウントを作成するモジュール作成を依頼します。 Qから得られたコードをTFファイルに挿入して リポジトリへ Push、その後 CodePipeline パイプラインが走ります。

sc_2024-12-03_09-56-58_8441

sc_2024-12-03_09-59-38_26575

sc_2024-12-03_09-04-28_25914
GitHubリポジトリPushをトリガーにパイプラインが実行

AWSアカウントのカスタマイズを実施

カスタマイズの例として AWS IPAMを使ったネットワーク払い出しが実演されていました。

sc_2024-12-03_10-01-53_32016

sc_2024-12-03_10-02-27_21599
IPAM設定のライブコーディング風景

What's next?

AFT に関する学習資料が連携されていました。

More sample AFT account customizations

https://awslabs.github.io/aft-blueprints/

AFTアカウントカスタマイズのアーキテクチャパターン集が 紹介されたページです。

AFT workshop

https://catalog.workshops.aws/control-tower/en-US/customization/aft

AWS Workshop Studio の1コンテンツです。 AFTのセットアップからAWSアカウントの作成、カスタマイズまで 一貫したワークショップが提供されています、

おわりに

AFTに関する Code Talk 紹介でした。

内容としては 解説3割:コーディング3割:QA4割 といった感じでした。 参加者が質問したいタイミングでその都度挙手されていて、 ディスカッションが盛んでした。

私的には AWSアカウント作成コードを Amazon Q(生成AI)を使ってサクッと構築していた点が印象的です。 とてもイカしていました。

以上、ラスベガスからお届けしました。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.